home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / Printing.a < prev    next >
Text File  |  1996-05-01  |  17KB  |  656 lines

  1. ;
  2. ;    File:        Printing.a
  3. ;
  4. ;    Contains:    Print Manager Interfaces.
  5. ;
  6. ;    Version:    Technology:    System 7.5
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__PRINTING__') = 'UNDEFINED' THEN
  19. __PRINTING__ SET 1
  20.  
  21.     IF &TYPE('__ERRORS__') = 'UNDEFINED' THEN
  22.     include 'Errors.a'
  23.     ENDIF
  24.     IF &TYPE('__DIALOGS__') = 'UNDEFINED' THEN
  25.     include 'Dialogs.a'
  26.     ENDIF
  27.     IF &TYPE('__QUICKDRAW__') = 'UNDEFINED' THEN
  28.     include 'Quickdraw.a'
  29.     ENDIF
  30.     IF FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED THEN
  31.  
  32. iPFMaxPgs                        EQU        128
  33. iPrPgFract                        EQU        120                    ;Page scale factor. ptPgSize (below) is in units of 1/iPrPgFract
  34. iPrPgFst                        EQU        1                    ;Page range constants
  35. iPrPgMax                        EQU        9999
  36. iPrRelease                        EQU        3                    ;Current version number of the code.
  37. iPrSavPFil                        EQU        -1
  38. iPrAbort                        EQU        $0080
  39. iPrDevCtl                        EQU        7                    ;The PrDevCtl Proc's ctl number
  40. lPrReset                        EQU        $00010000            ;The PrDevCtl Proc's CParam for reset
  41. lPrLineFeed                        EQU        $00030000
  42. lPrLFStd                        EQU        $0003FFFF            ;The PrDevCtl Proc's CParam for std paper advance
  43. lPrLFSixth                        EQU        $0003FFFF
  44. lPrPageEnd                        EQU        $00020000            ;The PrDevCtl Proc's CParam for end page
  45. lPrDocOpen                        EQU        $00010000
  46. lPrPageOpen                        EQU        $00040000
  47. lPrPageClose                    EQU        $00020000
  48. lPrDocClose                        EQU        $00050000
  49. iFMgrCtl                        EQU        8                    ;The FMgr's Tail-hook Proc's ctl number
  50. iMscCtl                            EQU        9                    ;The FMgr's Tail-hook Proc's ctl number
  51. iPvtCtl                            EQU        10                    ;The FMgr's Tail-hook Proc's ctl number
  52. ;     Error Codes moved to Errors.(hap) 
  53.  
  54. pPrGlobals                        EQU        $00000944            ;The PrVars lo mem area:
  55. bDraftLoop                        EQU        0
  56. bSpoolLoop                        EQU        1
  57. bUser1Loop                        EQU        2
  58. bUser2Loop                        EQU        3
  59. fNewRunBit                        EQU        2
  60. fHiResOK                        EQU        3
  61. fWeOpenedRF                        EQU        4                    ;Driver constants 
  62. iPrBitsCtl                        EQU        4
  63. lScreenBits                        EQU        0
  64. lPaintBits                        EQU        1
  65. lHiScreenBits                    EQU        $00000002            ;The Bitmap Print Proc's Screen Bitmap param
  66. lHiPaintBits                    EQU        $00000003            ;The Bitmap Print Proc's Paint [sq pix] param
  67. iPrIOCtl                        EQU        5
  68. iPrEvtCtl                        EQU        6                    ;The PrEvent Proc's ctl number
  69. lPrEvtAll                        EQU        $0002FFFD            ;The PrEvent Proc's CParam for the entire screen
  70. lPrEvtTop                        EQU        $0001FFFD            ;The PrEvent Proc's CParam for the top folder
  71. iPrDrvrRef                        EQU        -3
  72.  
  73. getRslDataOp                    EQU        4
  74. setRslOp                        EQU        5
  75. draftBitsOp                        EQU        6
  76. noDraftBitsOp                    EQU        7
  77. getRotnOp                        EQU        8
  78. NoSuchRsl                        EQU        1
  79. OpNotImpl                        EQU        2                    ;the driver doesn't support this opcode
  80. RgType1                            EQU        1
  81.  
  82. feedCut                            EQU        0
  83. feedFanfold                        EQU        1
  84. feedMechCut                        EQU        2
  85. feedOther                        EQU        3
  86. ; typedef SInt8                         TFeed
  87.  
  88.  
  89. scanTB                            EQU        0
  90. scanBT                            EQU        1
  91. scanLR                            EQU        2
  92. scanRL                            EQU        3
  93. ; typedef SInt8                         TScan
  94.  
  95. ;  A Rect Ptr 
  96. ; typedef struct Rect *                    TPRect
  97.  
  98.     IF FOR_OPAQUE_SYSTEM_DATA_STRUCTURES THEN
  99.  
  100.  
  101. ; typedef TPPrPort                         TPPrPortRef
  102.  
  103.     ELSE
  104. TPrPort                    RECORD 0
  105. gPort                     ds        GrafPort        ; offset: $0 (0)        ; The Printer's graf port.
  106. gProcs                     ds        QDProcs            ; offset: $6C (108)        ; ..and its procs
  107. lGParam1                 ds.l    1                ; offset: $A0 (160)        ; 16 bytes for private parameter storage.
  108. lGParam2                 ds.l    1                ; offset: $A4 (164)
  109. lGParam3                 ds.l    1                ; offset: $A8 (168)
  110. lGParam4                 ds.l    1                ; offset: $AC (172)
  111. fOurPtr                     ds.b    1                ; offset: $B0 (176)        ; Whether the PrPort allocation was done by us.
  112. fOurBits                 ds.b    1                ; offset: $B1 (177)        ; Whether the BitMap allocation was done by us.
  113. sizeof                     EQU *                    ; size:   $B2 (178)
  114.                         ENDR
  115. ; typedef struct TPrPort *                TPPrPort
  116.  
  117. ; typedef struct TPrPort *                TPPrPortRef
  118.  
  119.     ENDIF
  120. ;
  121. ; Printing Graf Port. All printer imaging, whether spooling, banding, etc, happens "thru" a GrafPort.
  122. ;  This is the "PrPeek" record. 
  123. ;
  124. TPrInfo                    RECORD 0
  125. iDev                     ds.w    1                ; offset: $0 (0)        ; Font mgr/QuickDraw device code
  126. iVRes                     ds.w    1                ; offset: $2 (2)        ; Resolution of device, in device coordinates
  127. iHRes                     ds.w    1                ; offset: $4 (4)        ; ..note: V before H => compatable with Point.
  128. rPage                     ds        Rect            ; offset: $6 (6)        ; The page (printable) rectangle in device coordinates.
  129. sizeof                     EQU *                    ; size:   $E (14)
  130.                         ENDR
  131. ; typedef struct TPrInfo *                TPPrInfo
  132.  
  133. ;  Print Info Record: The parameters needed for page composition. 
  134. TPrStl                    RECORD 0
  135. wDev                     ds.w    1                ; offset: $0 (0)
  136. iPageV                     ds.w    1                ; offset: $2 (2)
  137. iPageH                     ds.w    1                ; offset: $4 (4)
  138. bPort                     ds.b    1                ; offset: $6 (6)
  139. feed                     ds.b    1                ; offset: $7 (7)
  140. sizeof                     EQU *                    ; size:   $8 (8)
  141.                         ENDR
  142. ; typedef struct TPrStl *                TPPrStl
  143.  
  144. TPrXInfo                RECORD 0
  145. iRowBytes                 ds.w    1                ; offset: $0 (0)
  146. iBandV                     ds.w    1                ; offset: $2 (2)
  147. iBandH                     ds.w    1                ; offset: $4 (4)
  148. iDevBytes                 ds.w    1                ; offset: $6 (6)
  149. iBands                     ds.w    1                ; offset: $8 (8)
  150. bPatScale                 ds.b    1                ; offset: $A (10)
  151. bUlThick                 ds.b    1                ; offset: $B (11)
  152. bUlOffset                 ds.b    1                ; offset: $C (12)
  153. bUlShadow                 ds.b    1                ; offset: $D (13)
  154. scan                     ds.b    1                ; offset: $E (14)
  155. bXInfoX                     ds.b    1                ; offset: $F (15)
  156. sizeof                     EQU *                    ; size:   $10 (16)
  157.                         ENDR
  158. ; typedef struct TPrXInfo *                TPPrXInfo
  159.  
  160. TPrJob                    RECORD 0
  161. iFstPage                 ds.w    1                ; offset: $0 (0)        ; Page Range.
  162. iLstPage                 ds.w    1                ; offset: $2 (2)
  163. iCopies                     ds.w    1                ; offset: $4 (4)        ; No. copies.
  164. bJDocLoop                 ds.b    1                ; offset: $6 (6)        ; The Doc style: Draft, Spool, .., and ..
  165. fFromUsr                 ds.b    1                ; offset: $7 (7)        ; Printing from an User's App (not PrApp) flag
  166. pIdleProc                 ds.l    1                ; offset: $8 (8)        ; The Proc called while waiting on IO etc.
  167. pFileName                 ds.l    1                ; offset: $C (12)        ; Spool File Name: NIL for default.
  168. iFileVol                 ds.w    1                ; offset: $10 (16)        ; Spool File vol, set to 0 initially
  169. bFileVers                 ds.b    1                ; offset: $12 (18)        ; Spool File version, set to 0 initially
  170. bJobX                     ds.b    1                ; offset: $13 (19)        ; An eXtra byte.
  171. sizeof                     EQU *                    ; size:   $14 (20)
  172.                         ENDR
  173. ; typedef struct TPrJob *                TPPrJob
  174.  
  175. ;  Print Job: Print "form" for a single print request. 
  176. TPrint                    RECORD 0
  177. iPrVersion                 ds.w    1                ; offset: $0 (0)        ; (2) Printing software version
  178. prInfo                     ds        TPrInfo            ; offset: $2 (2)        ; (14) the PrInfo data associated with the current style.
  179. rPaper                     ds        Rect            ; offset: $10 (16)        ; (8) The paper rectangle [offset from rPage]
  180. prStl                     ds        TPrStl            ; offset: $18 (24)        ; (8)  This print request's style.
  181. prInfoPT                 ds        TPrInfo            ; offset: $20 (32)        ; (14)  Print Time Imaging metrics
  182. prXInfo                     ds        TPrXInfo        ; offset: $2E (46)        ; (16)  Print-time (expanded) Print info record.
  183. prJob                     ds        TPrJob            ; offset: $3E (62)        ; (20) The Print Job request (82)  Total of the above; 120-82 = 38 bytes needed to fill 120
  184. printX                     ds.w    19                ; offset: $52 (82)        ; Spare to fill to 120 bytes!
  185. sizeof                     EQU *                    ; size:   $78 (120)
  186.                         ENDR
  187. ; typedef struct TPrint *                TPPrint
  188.  
  189. ; typedef TPPrint *                        THPrint
  190.  
  191.     IF FOR_OPAQUE_SYSTEM_DATA_STRUCTURES THEN
  192. ;
  193. ; typedef struct OpaqueTPrStatusRef *TPPrStatus;
  194. ; typedef struct OpaqueTPrStatusRef *TPPrStatusRef;
  195. ;
  196.  
  197.  
  198. ; typedef TPPrStatus                     TPPrStatusRef
  199.  
  200.     ELSE
  201. TPrStatus                RECORD 0
  202. iTotPages                 ds.w    1                ; offset: $0 (0)        ; Total pages in Print File.
  203. iCurPage                 ds.w    1                ; offset: $2 (2)        ; Current page number
  204. iTotCopies                 ds.w    1                ; offset: $4 (4)        ; Total copies requested
  205. iCurCopy                 ds.w    1                ; offset: $6 (6)        ; Current copy number
  206. iTotBands                 ds.w    1                ; offset: $8 (8)        ; Total bands per page.
  207. iCurBand                 ds.w    1                ; offset: $A (10)        ; Current band number
  208. fPgDirty                 ds.b    1                ; offset: $C (12)        ; True if current page has been written to.
  209. fImaging                 ds.b    1                ; offset: $D (13)        ; Set while in band's DrawPic call.
  210. hPrint                     ds.l    1                ; offset: $E (14)        ; Handle to the active Printer record
  211. pPrPort                     ds.l    1                ; offset: $12 (18)        ; Ptr to the active PrPort
  212. hPic                     ds.l    1                ; offset: $16 (22)        ; Handle to the active Picture
  213. sizeof                     EQU *                    ; size:   $1A (26)
  214.                         ENDR
  215. ; typedef struct TPrStatus *            TPPrStatus
  216.  
  217. ; typedef struct TPrStatus *            TPPrStatusRef
  218.  
  219.     ENDIF
  220. ;  Print Status: Print information during printing. 
  221. TPfPgDir                RECORD 0
  222. iPages                     ds.w    1                ; offset: $0 (0)
  223. iPgPos                     ds.l    129                ; offset: $2 (2)        ; ARRAY [0..iPfMaxPgs] OF LONGINT
  224. sizeof                     EQU *                    ; size:   $206 (518)
  225.                         ENDR
  226. ; typedef struct TPfPgDir *                TPPfPgDir
  227.  
  228. ; typedef TPPfPgDir *                    THPfPgDir
  229.  
  230. ;  PicFile = a TPfHeader followed by n QuickDraw Pics (whose PicSize is invalid!) 
  231. ;
  232. ; This is the Printing Dialog Record. Only used by folks appending their own
  233. ;   DITLs to the print dialogs.    Print Dialog: The Dialog Stream object. 
  234. ;
  235.     IF FOR_OPAQUE_SYSTEM_DATA_STRUCTURES THEN
  236. ;
  237. ; typedef struct OpaqueTPrDlgRef *TPPrDlg;
  238. ; typedef struct OpaqueTPrDlgRef *TPPrDlgRef;
  239. ;
  240.  
  241.  
  242. ; typedef TPPrDlg                         TPPrDlgRef
  243.  
  244.     ELSE
  245. TPrDlg                    RECORD 0
  246. Dlg                         ds        DialogRecord    ; offset: $0 (0)        ; The Dialog window
  247. pFltrProc                 ds.l    1                ; offset: $AA (170)        ; The Filter Proc.
  248. pItemProc                 ds.l    1                ; offset: $AE (174)        ; The Item evaluating proc.
  249. hPrintUsr                 ds.l    1                ; offset: $B2 (178)        ; The user's print record.
  250. fDoIt                     ds.b    1                ; offset: $B6 (182)
  251. fDone                     ds.b    1                ; offset: $B7 (183)
  252. lUser1                     ds.l    1                ; offset: $B8 (184)        ; Four longs for apps to hang global data.
  253. lUser2                     ds.l    1                ; offset: $BC (188)        ; Plus more stuff needed by the particular
  254. lUser3                     ds.l    1                ; offset: $C0 (192)        ; printing dialog.
  255. lUser4                     ds.l    1                ; offset: $C4 (196)
  256. sizeof                     EQU *                    ; size:   $C8 (200)
  257.                         ENDR
  258. ; typedef struct TPrDlg *                TPPrDlg
  259.  
  260. ; typedef struct TPrDlg *                TPPrDlgRef
  261.  
  262.     ENDIF
  263. TGnlData                RECORD 0
  264. iOpCode                     ds.w    1                ; offset: $0 (0)
  265. iError                     ds.w    1                ; offset: $2 (2)
  266. lReserved                 ds.l    1                ; offset: $4 (4)        ; more fields here depending on call
  267. sizeof                     EQU *                    ; size:   $8 (8)
  268.                         ENDR
  269. TRslRg                    RECORD 0
  270. iMin                     ds.w    1                ; offset: $0 (0)
  271. iMax                     ds.w    1                ; offset: $2 (2)
  272. sizeof                     EQU *                    ; size:   $4 (4)
  273.                         ENDR
  274. TRslRec                    RECORD 0
  275. iXRsl                     ds.w    1                ; offset: $0 (0)
  276. iYRsl                     ds.w    1                ; offset: $2 (2)
  277. sizeof                     EQU *                    ; size:   $4 (4)
  278.                         ENDR
  279. TGetRslBlk                RECORD 0
  280. iOpCode                     ds.w    1                ; offset: $0 (0)
  281. iError                     ds.w    1                ; offset: $2 (2)
  282. lReserved                 ds.l    1                ; offset: $4 (4)
  283. iRgType                     ds.w    1                ; offset: $8 (8)
  284. xRslRg                     ds        TRslRg            ; offset: $A (10)
  285. yRslRg                     ds        TRslRg            ; offset: $E (14)
  286. iRslRecCnt                 ds.w    1                ; offset: $12 (18)
  287. rgRslRec                 ds.b    27 * TRslRec.sizeof ; offset: $14 (20)
  288. sizeof                     EQU *                    ; size:   $80 (128)
  289.                         ENDR
  290. TSetRslBlk                RECORD 0
  291. iOpCode                     ds.w    1                ; offset: $0 (0)
  292. iError                     ds.w    1                ; offset: $2 (2)
  293. lReserved                 ds.l    1                ; offset: $4 (4)
  294. hPrint                     ds.l    1                ; offset: $8 (8)
  295. iXRsl                     ds.w    1                ; offset: $C (12)
  296. iYRsl                     ds.w    1                ; offset: $E (14)
  297. sizeof                     EQU *                    ; size:   $10 (16)
  298.                         ENDR
  299. TDftBitsBlk                RECORD 0
  300. iOpCode                     ds.w    1                ; offset: $0 (0)
  301. iError                     ds.w    1                ; offset: $2 (2)
  302. lReserved                 ds.l    1                ; offset: $4 (4)
  303. hPrint                     ds.l    1                ; offset: $8 (8)
  304. sizeof                     EQU *                    ; size:   $C (12)
  305.                         ENDR
  306. TGetRotnBlk                RECORD 0
  307. iOpCode                     ds.w    1                ; offset: $0 (0)
  308. iError                     ds.w    1                ; offset: $2 (2)
  309. lReserved                 ds.l    1                ; offset: $4 (4)
  310. hPrint                     ds.l    1                ; offset: $8 (8)
  311. fLandscape                 ds.b    1                ; offset: $C (12)
  312. bXtra                     ds.b    1                ; offset: $D (13)
  313. sizeof                     EQU *                    ; size:   $E (14)
  314.                         ENDR
  315. ;
  316. ; pascal void PrPurge(void )
  317. ;
  318.     IF ¨ GENERATINGCFM THEN
  319.         Macro
  320.         _PrPurge
  321.             move.l              #$A8000000,-(sp)
  322.             dc.w                $A8FD
  323.         EndM
  324.     ELSE
  325.         IMPORT_CFM_FUNCTION PrPurge
  326.     ENDIF
  327.  
  328. ;
  329. ; pascal void PrNoPurge(void )
  330. ;
  331.     IF ¨ GENERATINGCFM THEN
  332.         Macro
  333.         _PrNoPurge
  334.             move.l              #$B0000000,-(sp)
  335.             dc.w                $A8FD
  336.         EndM
  337.     ELSE
  338.         IMPORT_CFM_FUNCTION PrNoPurge
  339.     ENDIF
  340.  
  341. ;
  342. ; pascal void PrOpen(void )
  343. ;
  344.     IF ¨ GENERATINGCFM THEN
  345.         Macro
  346.         _PrOpen
  347.             move.l              #$C8000000,-(sp)
  348.             dc.w                $A8FD
  349.         EndM
  350.     ELSE
  351.         IMPORT_CFM_FUNCTION PrOpen
  352.     ENDIF
  353.  
  354. ;
  355. ; pascal void PrClose(void )
  356. ;
  357.     IF ¨ GENERATINGCFM THEN
  358.         Macro
  359.         _PrClose
  360.             move.l              #$D0000000,-(sp)
  361.             dc.w                $A8FD
  362.         EndM
  363.     ELSE
  364.         IMPORT_CFM_FUNCTION PrClose
  365.     ENDIF
  366.  
  367. ;
  368. ; pascal void PrintDefault(THPrint hPrint)
  369. ;
  370.     IF ¨ GENERATINGCFM THEN
  371.         Macro
  372.         _PrintDefault
  373.             move.l              #$20040480,-(sp)
  374.             dc.w                $A8FD
  375.         EndM
  376.     ELSE
  377.         IMPORT_CFM_FUNCTION PrintDefault
  378.     ENDIF
  379.  
  380. ;
  381. ; pascal Boolean PrValidate(THPrint hPrint)
  382. ;
  383.     IF ¨ GENERATINGCFM THEN
  384.         Macro
  385.         _PrValidate
  386.             move.l              #$52040498,-(sp)
  387.             dc.w                $A8FD
  388.         EndM
  389.     ELSE
  390.         IMPORT_CFM_FUNCTION PrValidate
  391.     ENDIF
  392.  
  393. ;
  394. ; pascal Boolean PrStlDialog(THPrint hPrint)
  395. ;
  396.     IF ¨ GENERATINGCFM THEN
  397.         Macro
  398.         _PrStlDialog
  399.             move.l              #$2A040484,-(sp)
  400.             dc.w                $A8FD
  401.         EndM
  402.     ELSE
  403.         IMPORT_CFM_FUNCTION PrStlDialog
  404.     ENDIF
  405.  
  406. ;
  407. ; pascal Boolean PrJobDialog(THPrint hPrint)
  408. ;
  409.     IF ¨ GENERATINGCFM THEN
  410.         Macro
  411.         _PrJobDialog
  412.             move.l              #$32040488,-(sp)
  413.             dc.w                $A8FD
  414.         EndM
  415.     ELSE
  416.         IMPORT_CFM_FUNCTION PrJobDialog
  417.     ENDIF
  418.  
  419. ;
  420. ; pascal TPPrDlgRef PrStlInit(THPrint hPrint)
  421. ;
  422.     IF ¨ GENERATINGCFM THEN
  423.         Macro
  424.         _PrStlInit
  425.             move.l              #$3C04040C,-(sp)
  426.             dc.w                $A8FD
  427.         EndM
  428.     ELSE
  429.         IMPORT_CFM_FUNCTION PrStlInit
  430.     ENDIF
  431.  
  432. ;
  433. ; pascal TPPrDlgRef PrJobInit(THPrint hPrint)
  434. ;
  435.     IF ¨ GENERATINGCFM THEN
  436.         Macro
  437.         _PrJobInit
  438.             move.l              #$44040410,-(sp)
  439.             dc.w                $A8FD
  440.         EndM
  441.     ELSE
  442.         IMPORT_CFM_FUNCTION PrJobInit
  443.     ENDIF
  444.  
  445. ;
  446. ; pascal void PrJobMerge(THPrint hPrintSrc, THPrint hPrintDst)
  447. ;
  448.     IF ¨ GENERATINGCFM THEN
  449.         Macro
  450.         _PrJobMerge
  451.             move.l              #$5804089C,-(sp)
  452.             dc.w                $A8FD
  453.         EndM
  454.     ELSE
  455.         IMPORT_CFM_FUNCTION PrJobMerge
  456.     ENDIF
  457.  
  458. ;
  459. ; pascal Boolean PrDlgMain(THPrint hPrint, PDlgInitUPP pDlgInit)
  460. ;
  461.     IF ¨ GENERATINGCFM THEN
  462.         Macro
  463.         _PrDlgMain
  464.             move.l              #$4A040894,-(sp)
  465.             dc.w                $A8FD
  466.         EndM
  467.     ELSE
  468.         IMPORT_CFM_FUNCTION PrDlgMain
  469.     ENDIF
  470.  
  471. ;
  472. ; pascal TPPrPortRef PrOpenDoc(THPrint hPrint, TPPrPortRef pPrPort, Ptr pIOBuf)
  473. ;
  474.     IF ¨ GENERATINGCFM THEN
  475.         Macro
  476.         _PrOpenDoc
  477.             move.l              #$04000C00,-(sp)
  478.             dc.w                $A8FD
  479.         EndM
  480.     ELSE
  481.         IMPORT_CFM_FUNCTION PrOpenDoc
  482.     ENDIF
  483.  
  484. ;
  485. ; pascal void PrCloseDoc(TPPrPortRef pPrPort)
  486. ;
  487.     IF ¨ GENERATINGCFM THEN
  488.         Macro
  489.         _PrCloseDoc
  490.             move.l              #$08000484,-(sp)
  491.             dc.w                $A8FD
  492.         EndM
  493.     ELSE
  494.         IMPORT_CFM_FUNCTION PrCloseDoc
  495.     ENDIF
  496.  
  497. ;
  498. ; pascal void PrOpenPage(TPPrPortRef pPrPort, TPRect pPageFrame)
  499. ;
  500.     IF ¨ GENERATINGCFM THEN
  501.         Macro
  502.         _PrOpenPage
  503.             move.l              #$10000808,-(sp)
  504.             dc.w                $A8FD
  505.         EndM
  506.     ELSE
  507.         IMPORT_CFM_FUNCTION PrOpenPage
  508.     ENDIF
  509.  
  510. ;
  511. ; pascal void PrClosePage(TPPrPortRef pPrPort)
  512. ;
  513.     IF ¨ GENERATINGCFM THEN
  514.         Macro
  515.         _PrClosePage
  516.             move.l              #$1800040C,-(sp)
  517.             dc.w                $A8FD
  518.         EndM
  519.     ELSE
  520.         IMPORT_CFM_FUNCTION PrClosePage
  521.     ENDIF
  522.  
  523. ;
  524. ; pascal void PrPicFile(THPrint hPrint, TPPrPortRef pPrPort, Ptr pIOBuf, Ptr pDevBuf, TPPrStatusRef prStatus)
  525. ;
  526.     IF ¨ GENERATINGCFM THEN
  527.         Macro
  528.         _PrPicFile
  529.             move.l              #$60051480,-(sp)
  530.             dc.w                $A8FD
  531.         EndM
  532.     ELSE
  533.         IMPORT_CFM_FUNCTION PrPicFile
  534.     ENDIF
  535.  
  536. ;
  537. ; pascal short PrError(void )
  538. ;
  539.     IF ¨ GENERATINGCFM THEN
  540.         Macro
  541.         _PrError
  542.             move.l              #$BA000000,-(sp)
  543.             dc.w                $A8FD
  544.         EndM
  545.     ELSE
  546.         IMPORT_CFM_FUNCTION PrError
  547.     ENDIF
  548.  
  549. ;
  550. ; pascal void PrSetError(short iErr)
  551. ;
  552.     IF ¨ GENERATINGCFM THEN
  553.         Macro
  554.         _PrSetError
  555.             move.l              #$C0000200,-(sp)
  556.             dc.w                $A8FD
  557.         EndM
  558.     ELSE
  559.         IMPORT_CFM_FUNCTION PrSetError
  560.     ENDIF
  561.  
  562. ;
  563. ; pascal void PrGeneral(Ptr pData)
  564. ;
  565.     IF ¨ GENERATINGCFM THEN
  566.         Macro
  567.         _PrGeneral
  568.             move.l              #$70070480,-(sp)
  569.             dc.w                $A8FD
  570.         EndM
  571.     ELSE
  572.         IMPORT_CFM_FUNCTION PrGeneral
  573.     ENDIF
  574.  
  575. ;
  576. ; pascal void PrDrvrOpen(void )
  577. ;
  578.     IF ¨ GENERATINGCFM THEN
  579.         Macro
  580.         _PrDrvrOpen
  581.             move.l              #$80000000,-(sp)
  582.             dc.w                $A8FD
  583.         EndM
  584.     ELSE
  585.         IMPORT_CFM_FUNCTION PrDrvrOpen
  586.     ENDIF
  587.  
  588. ;
  589. ; pascal void PrDrvrClose(void )
  590. ;
  591.     IF ¨ GENERATINGCFM THEN
  592.         Macro
  593.         _PrDrvrClose
  594.             move.l              #$88000000,-(sp)
  595.             dc.w                $A8FD
  596.         EndM
  597.     ELSE
  598.         IMPORT_CFM_FUNCTION PrDrvrClose
  599.     ENDIF
  600.  
  601. ;
  602. ; pascal void PrCtlCall(short iWhichCtl, long lParam1, long lParam2, long lParam3)
  603. ;
  604.     IF ¨ GENERATINGCFM THEN
  605.         Macro
  606.         _PrCtlCall
  607.             move.l              #$A0000E00,-(sp)
  608.             dc.w                $A8FD
  609.         EndM
  610.     ELSE
  611.         IMPORT_CFM_FUNCTION PrCtlCall
  612.     ENDIF
  613.  
  614. ;
  615. ; pascal Handle PrDrvrDCE(void )
  616. ;
  617.     IF ¨ GENERATINGCFM THEN
  618.         Macro
  619.         _PrDrvrDCE
  620.             move.l              #$94000000,-(sp)
  621.             dc.w                $A8FD
  622.         EndM
  623.     ELSE
  624.         IMPORT_CFM_FUNCTION PrDrvrDCE
  625.     ENDIF
  626.  
  627. ;
  628. ; pascal short PrDrvrVers(void )
  629. ;
  630.     IF ¨ GENERATINGCFM THEN
  631.         Macro
  632.         _PrDrvrVers
  633.             move.l              #$9A000000,-(sp)
  634.             dc.w                $A8FD
  635.         EndM
  636.     ELSE
  637.         IMPORT_CFM_FUNCTION PrDrvrVers
  638.     ENDIF
  639.  
  640. ;
  641. ; pascal short PrLoadDriver(void )
  642. ;
  643.     IF ¨ GENERATINGCFM THEN
  644.         Macro
  645.         _PrLoadDriver
  646.             move.l              #$D8000000,-(sp)
  647.             dc.w                $A8FD
  648.         EndM
  649.     ELSE
  650.         IMPORT_CFM_FUNCTION PrLoadDriver
  651.     ENDIF
  652.  
  653.     ENDIF
  654.     ENDIF ; __PRINTING__ 
  655.  
  656.